package com.example.pay.dto;

import lombok.Data;
import lombok.NonNull;

/**
 * 前端发起统一下单的请求参数。
 */
@Data
public class PrepayRequest {
    /**
     * 商品类型（如：MEMBER_PACKAGE）。用于后端区分不同商品的计价逻辑。
     * 1-1000 会员套餐（MEMBER_PACKAGE）
     * 10001-99999 积分套餐
     */
    @NonNull
    private String productType;

    /**
     * 商品ID。会员套餐场景对应表：member_package_item.item_id。
     */
    @NonNull
    private Long productId;

    /**
     * 购买渠道：1-微信、2-支付宝 3-积分。决定调用哪个通道生成支付参数。
     */
    private Integer purchaseType;

    /**
     * 购买用户的业务ID。
     */
    private String userId;

    /**
     * 用户名（可选），用于生成订单展示信息。
     */
    private String userName;

    /**
     * 用户手机号（可选），用于联系或开票信息。
     */
    private String userPhone;
}
